home *** CD-ROM | disk | FTP | other *** search
- SIZE(1) Last changed: 1-4-99
-
-
- NNAAMMEE
- ssiizzee - Prints the section sizes of object files
-
- SSYYNNOOPPSSIISS
- ssiizzee [--dd --ff --nn --oo --44 --ssvvrr44 --xx --AA --BB --FF --VV] _f_i_l_e_s
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems
-
- DDEESSCCRRIIPPTTIIOONN
- The ssiizzee command prints segment or section information in bytes about
- the various sections or segments of each named ELF object _f_i_l_e. _f_i_l_e
- can be an object or an archive.
-
- When calculating segment information, the ssiizzee command prints out the
- total file size of the non-writable segments, the total file size of
- the writable segments, and the total memory size minus the total file
- size of the writable segments.
-
- If it cannot find segment information, ssiizzee performs calculations
- based on section information. When performing calculations based on
- section information, it calculates the total size of sections that are
- allocatable, non-writable and not NOBITS; the total size of the
- sections that are allocatable, writable, and not NOBITS; and the total
- size of the writable sections of type NOBITS (NOBITS sections do not
- actually take up space in the _f_i_l_e.) The following sections may be
- mentioned and counted: ..tteexxtt, ..iinniitt, ..rrddaattaa, ..ddaattaa, ..ssddaattaa, ..ssbbssss,
- ..ddyynnssyymm, ..ddssoolliisstt, ..ccoonnfflliicctt, and ..llccllddttaa. Some of the sections
- marked allocatable, for example, ..ssttrrttaabb and ..ssyymmttaabb, may be a
- surprise, because they do not seem as if they would be loaded at run
- time. However, some of this information does get into symbol tables
- which, for shared-code (PIC) are in memory at run time so rrlldd(1) can
- use them.
-
- By default, the output format is that of AT&T System V Release 3
- showing sections (not segments) as described above followed by System
- V Release 4-style totals.
-
- ssiizzee supports the following options:
-
- --dd Prints the sizes in decimal.
-
- --ff Prints out the size of each allocatable section, the name of the
- section, and the total of the section sizes. If there is no
- section data, ssiizzee prints out an error message and stops
- processing the file. Segment information is ignored; only
- section information is used.
-
- --nn Prints out non-loadable segment or non-allocatable section sizes.
- If segment data exists, ssiizzee prints out the memory size of each
- loadable segment or file size of each non-loadable segment, the
- permission flags, and the total size of the segments. If there
- is no segment data, ssiizzee prints out, for each allocatable and
- non-allocatable section, the memory size, the section name, and
- the total size of the sections. If there is no segment or
- section data, ssiizzee prints an error message and stops processing.
-
- --oo Prints the sizes in octal.
-
- --44 Suppresses detailed listings, leaving just the AT&T System V
- Release 4 summary output. Prints segment information if present,
- rather than section information (unless --ff is also specified).
-
- --ssvvrr44
- The same as specifying --44, but deprecated as multi-letter options
- are not appropriate under System V Release 4 option guidelines.
-
- --xx Prints the sizes in hexadecimal.
-
- --AA Use AT&T System V Release 3-style output. This is the default
- style. This style is more verbose than the --44 output; each
- section is printed with both size and physical and virtual
- addresses. It is followed by the System V Release 4-style
- totals. Segment information is ignored; only section information
- is used.
-
- --BB Use Berkeley-style (4.3BSD) output. This style prints size
- information for each section, regardless of whether the file
- exists, and prints the total in both hexadecimal and decimal.
- The tteexxtt and ddaattaa section sizes reported may be rounded to page
- sizes. In the rounding (done by lldd(1)) some bbssss may be moved
- into ddaattaa. The numbers reported are the actual numbers used to
- load the program into memory. Only sections named ..tteexxtt, ..iinniitt
- or ..ffiinnii are counted as text. Segment information is ignored;
- only section information is used.
-
- --FF Prints out the size of each loadable segment, the permission
- flags of the segment, then the total of the loadable segment
- sizes. If there is no segment data, ssiizzee issues an error and
- stops processing the file.
-
- --VV Prints the version of ssiizzee on standard error.
-
- EEXXAAMMPPLLEESS
- The following examples show typical ssiizzee output.
-
- size -4 _f_i_l_e
-
- 90112 + 12288 + 0 = 102400
-
- size -svr4 -f _f_i_l_e
-
- 19(.interp) + 24(.reginfo) + 192(.dynamic) + 32(.liblist) /e
- + 1200(.msym) + 1600(.dynstr) + 2384(.dynsym) + 1632(.hash) /e
- + 82560(.text) + 32(.init) + 1472(.data) + 8000(.rodata) + /e
- 464(.got) + 48(.bss) = 99659
-
- size -4 -F _f_i_l_e
-
- 90112(r-x) + 12288(rw-) = 109483
-
- FFIILLEESS
- //uussrr//iinncclluuddee//eellff..hh
- //uussrr//iinncclluuddee//ssyyss//eellff..hh
-
- DDIIAAGGNNOOSSTTIICCSS
- If ssiizzee cannot calculate either segment or section information, it
- prints an error message and stops processing the file.
-
- NNOOTTEESS
- Because the size of ..bbssss sections is not known until link-time, ssiizzee
- will not give the true total size of pre-linked objects.
-
- The rounding shown by the --BB option can have effects that may be
- surprising; reducing the size of data a small amount can result in
- some bbssss space being moved from the rounded ddaattaa back into bbssss and
- make bbssss appear to grow.
-
- Some sections are shown and counted as data with the --BB option that
- might be considered text. For example, the ..rrooddaattaa section is counted
- as data even if it is part of the shared text program header segment.
-
- The --BB option interacts strangely with other options such as --nn and
- --ff, making the output useless.
-
- If the --ssvvrr44, --44,, --AA, and --BB options are specified, the last one
- specified is applied.
-
- For executables, ssiizzee --44 aa..oouutt is more accurate than ssiizzee --BB aa..oouutt
- because the former reports totals of precisely what the kernel must
- load (using segment information) and the latter reports how the
- sections describe aa..oouutt; but this is counting only the text as text,
- not counting ._d_y_n_s_y_m, etc. The --BB format directly describes the
- executable instructions (leaving out read-only tables), so for some
- purposes it may be more useful.
-
- Most section names previously mentioned are described in the
- Application Binary Interface books mentioned in the SEE ALSO section.
- In addition, some sections are described in the _M_I_P_S_p_r_o _A_s_s_e_m_b_l_y
- _L_a_n_g_u_a_g_e _P_r_o_g_r_a_m_m_e_r_s _G_u_i_d_e.
-
- SSEEEE AALLSSOO
- aa..oouutt(4)
-
- _S_y_s_t_e_m _V _A_p_p_l_i_c_a_t_i_o_n _B_i_n_a_r_y _I_n_t_e_r_f_a_c_e, Prentice Hall, ISBN
- 0-13-877598-2
-
- _S_y_s_t_e_m _V _A_p_p_l_i_c_a_t_i_o_n _B_i_n_a_r_y _I_n_t_e_r_f_a_c_e _M_I_P_S, Processor Supplement,
- Prentice Hall, ISBN 0-13-880170-3
-
- _M_I_P_S_p_r_o _A_s_s_e_m_b_l_y _L_a_n_g_u_a_g_e _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_e
-
- This man page is available only online.
-
-